package org.batatasframework.web.script;

/**
 * <pre>
 * 对于每一个生成的界面来讲，都会有一个js对应来管理这整个页面的脚本代码；
 * 
 * 这个管理对象是有一个具体的名字，在后面里可以随意调用；
 * 
 * 每个完整的界面才是根对象，如：弹出的对话框等使用ajax等方式加载的，不是完整的界面。
 * </pre>
 * @author jackson
 *
 */
public class JavaScript {
	
	private ManageObjectName manageObject;
	/** 用于初始化处理的js，一般会被放在$(function(){ //这里执行 }); */
	private StringBuilder initScript = new StringBuilder();
	/**
	 * <pre>
	 * 加载结束时调用的脚本，一般在弹出的窗口有用。也可能是在具体的代码后面被调用；
	 * 如：
	 * $(function(){ 
	 *     //1. 初始化 {@link #initScript}
	 *     //2. 处理中
	 *     //3. 结束脚本
	 * });
	 * 对应的第3的位置；
	 * 注意：这里都是直接的脚本，不使用方法；
	 * </pre>
	 */
	private StringBuilder finishScript;
	
	public void merge(JavaScript source){
		initScript.append(source.initScript);
		if(null != source.finishScript){
			if(null == finishScript){
				finishScript = new StringBuilder();
			}
			finishScript.append(source.finishScript);
		}
	}
}
